ヘッダーをスキップ
Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド
リリース6.0
B25764-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

永続コミットの適切な使用

これによって、システムまたはアプリケーションで障害が発生した場合でも、コミット済のトランザクションは失われなくなります。非永続コミットを使用すると、これらのディスクへの書込みの一部またはすべてが行われないようにすることができます。非永続コミットでは、トランザクション・ログをディスクに書き込むことを除き、永続コミットで実行されるすべての処理が実行されます。ロックは解除され、カーソルはクローズされますが、ディスクへの書込みは実行されません。

注意: 一部のコントローラまたはドライバは、コントローラのキャッシュ・メモリーにデータを書き込むのみか、または書込みが終了したことがオペレーティング・システムに通知された後でのみディスクにデータを書き込みます。この場合、停電が発生すると、永続コミットしたと思われていた一部の情報が失われる可能性があります。このようなデータの損失を回避するには、終了通知の前に記録メディアに書き込むようディスクを構成するか、または無停電電源装置(UPS)を使用します。

非永続コミットのメリットは、レスポンス時間を減らし、スループットを向上させることができることです。デメリットは、システムで障害が発生した場合に、一部のトランザクションが失われる可能性があることです。アプリケーションでは、定期的に永続コミットまたはチェックポイントを実行してディスクへのロギングを強制実行することによって、失われる可能性があるデータの量を減らすことができます。また、TimesTen自体でも、内部バッファが満杯になった場合にログをディスクに定期的にフラッシュしているため、失われるデータの量が制限されます。

トランザクションは、接続ごとに永続的にするか、または永続性遅延モードを設定できます。アプリケーションで、ttDurableCommitプロシージャをコールして、特定のトランザクションの永続コミットを強制実行できます。

非永続コミットを使用しないアプリケーションでは、書込みおよびフラッシュのかわりに同期書込みを使用することをお薦めします。同期化書込みを有効にするには、LogFlushMethod=2を設定します。

SYS.MONITOR表のXACT_D_COMMITS列は、永続コミットを実行したトランザクションの数を示します。